<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        textarea {
            width: 100%;
            height: 40vh;
        }
        button {
            width: 200px;
            height: 50px;
            font-size: 20px;
            font-weight: bolder;
            color: red;
        }
        p{
            color: red;
        }
    </style>
</head>
<body>
    <p>1、把你的srt文件拖入到记事本中你就可以看到内容，全部复制粘贴到下面框框中</p>
    <p>2、点击按钮【去除序号和时间轴】</p>
    <p>3、第二个框框的内容就是纯文本了，复制粘贴到你的文档中即可</p>
    <h2>下面粘贴 srt 内容</h2>
    <textarea class="input" name="" id="" cols="30" rows="10"></textarea>
    <button>去除序号和时间轴</button>
    <h2>去除 srt 序号和时间轴后的内容</h2>
    <textarea class="out" name="" id="" cols="30" rows="10"></textarea>
</body>
</html>
<script>
    window.addEventListener('load', () => {
        const input = document.querySelector('.input')
        const out = document.querySelector('.out')
        document.querySelector('button').addEventListener('click', () => {

            // 按照换行拆分成数组
            const arr = input.value.split('\n')

            const result = []

            for(let i = 0; i < arr.length; i++){
                
                // 匹配空行
                if(arr[i].length == 0) {
                    continue
                }

                
                // 匹配序号
                if(arr[i].search(/^\d{1,}$/gm) == 0){
                    // 用数字匹配成功，但不一定是序号，有可能字幕内容就是纯数字
                    // 在对这个元素的下一索引位的元素进行判断，如果是时间轴，说明这个就一定是序号，而不是内容
                    if(arr[i+1].search(/\d{2}:\d{2}:\d{2}[,|.]\d{3} --> \d{2}:\d{2}:\d{2}[,|.]\d{3}/gm) == 0){
                        continue
                    }
                }
                
                // 匹配时间轴
                if(arr[i].search(/\d{2}:\d{2}:\d{2}[,|.]\d{3} --> \d{2}:\d{2}:\d{2}[,|.]\d{3}/gm) == 0){
                    continue
                }

                result.push(arr[i])
            }

            // 用换行符合并数组，如果需要每一行之间多出一个空行，下面写成 \n\n
            out.value = result.join('\n')
        })
    })
</script>